//基础地址
const BASE_URL = "http://localhost:8080/web/";
//注册
const  REGISTER_URL = "";
//登录
const LOGIN_URL = "user/login";
//修改用户
const MODIFY_URL = "";
//上传图片url
const UPLOAD_IMG_URL = "";
//页面数据显示
const UP = "employ/list?up=up";
const NEXT = "employ/list?next=next";
//跳转到登录页
const JUMP_LOGIN = "jump/page/login";
//跳转到添加员工页
const JUMP_ADD_EMPLOY = "jump/page/add/employ";
//跳转到修改员工页
const JUMP_MODIFY_EMPLOY = "employ/modify";


//ajax请求
/*
    callbackMap:{
     "url":必须的  string类型
     "method":不必须  string类型
     "data":必须 键值对类型->{"xxx":"xxx"}
    }
    callback（回调函数函数）:必须
*/
function  _ajax(paramsMap,callback){
    //请求地址
    let requestUrl = paramsMap.get("url")
    //判断方法默认为get
    let requestMethod = "get";
    //判断是否设置method
    if(paramsMap.has("method")){
         requestMethod =  paramsMap.get("method")
    }
    //数据或者说请求体
    let requestData = paramsMap.get("data");
    //打印日志
    console.log("[url="+requestUrl+"],[method="+requestMethod+"]");
    //数据类型是Map就打印，数组形式方便给后端传递数据，请求体形式需要用post，而且请求体需要打包成json
    if(typeof requestData  === "string"){
        console.log("ajax的data参数[类型=String]="+requestData);
    }else{
        for (const key in requestData) {
            console.log("ajax的data参数[类型=object或者callbackMap][key="+key+"][value="+requestData[key]+"]")
        }
    }
    
    //callbackMap用于回调函数传递给需要的
    let callbackMap = new Map();
    /*
    xhrFields: {
        是否让ajax请求携带 cookies因为cookies由sessionId可以验证session，如果是用session验证此处为true 默认为false可以不写
        withCredentials: true
    },
    */
    $.ajax({
        type: requestMethod,
        url: requestUrl,
        data: requestData,
        //带凭证
        xhrFields: {
            withCredentials: true
        },
        //上下文类型，请求给后端的类型
        contentType: 'application/json;charset=UTF-8',
        //接收的类型
        dataType: "json",
        success: function (response) {
            callbackMap.set("success",response);
            callback(callbackMap);
        },
        error: function(response){
            callbackMap.set("error",response);
            callback(callbackMap)
        }
    });
}